package com.scau.ums.mapper;

import com.scau.ums.model.Repairreport;
import com.scau.ums.util.dao.RepairReportSql;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;

import java.util.List;

public interface CustomedRepairReportMapper {
    @SelectProvider(method = "getUnverifiedRepairReports", type = RepairReportSql.class)
    public List<Repairreport> getUnverifiedRepairReports() ;
    @UpdateProvider(method = "VerifySuccess", type=RepairReportSql.class)
    public int VerifySuccess(Integer RepairReportId);
    @UpdateProvider(method = "VerifyFailed", type=RepairReportSql.class)
    public int VerifyFailed(Integer RepairReportId,String remark);
    @SelectProvider(method = "getAllFinishedReport",type=RepairReportSql.class)
    public List<Repairreport> getAllFinishedReport();
    @SelectProvider(method="getFinishedReportIdsOfMonth",type=RepairReportSql.class)
    public List<Integer> getFinishedReportIdsOfMonth();
    @SelectProvider(method="getFinishedReportIdsOfSeason",type=RepairReportSql.class)
    public List<Integer> getFinishedReportIdsOfSeason();
    @SelectProvider(method="getFinishedReportIdsOfYear",type=RepairReportSql.class)
    public List<Integer> getFinishedReportIdsOfYear();
    @SelectProvider(method="getCustomedFinishedReports",type=RepairReportSql.class)
    public List<Repairreport> getCustomedFinishedReports(String whereClause);
    @SelectProvider(method="getStuRepairReportTypeNum",type=RepairReportSql.class)
    public Integer getStuRepairReportTypeNum(Integer type);
    @SelectProvider(method="getTeaRepairReportTypeNum",type=RepairReportSql.class)
    public Integer getTeaRepairReportTypeNum(Integer type);
    @SelectProvider(method="getLikeNumber",type=RepairReportSql.class)
    public Integer getLikeNumber();
    @SelectProvider(method="getUnLikeNumber",type=RepairReportSql.class)
    public Integer getUnLikeNumber();
    @SelectProvider(method="getSomeoneLikeNumber",type=RepairReportSql.class)
    public Integer getSomeoneLikeNumber(Integer maintainerId);
    @SelectProvider(method="getSomeoneUnLikeNumber",type=RepairReportSql.class)
    public Integer getSomeoneUnLikeNumber(Integer maintainerId);
}
